# def wrapper1(func1):  #　func1 = f原函数
#     def inner1():
#         print('wrapper1 ,before func')  # 2
#         func1()
#         print('wrapper1 ,after func')  # 4
#     return inner1
#
# def wrapper2(func2):  # func2 == inner1
#     def inner2():
#         print('wrapper2 ,before func')  # 1
#         func2()  # inner1
#         print('wrapper2 ,after func')  # 5
#     return inner2
#
#
# @wrapper2  # f = wrapper2(f) 里面的f == inner1  外面的f == inner2
# @wrapper1  # f = wrapper1(f) 里面的f == func1  外面的 f == inner1
# def f():
#     print('in f')  # 3
#
# f()  # inner2()




